Scripting > CxHmiGrp > CxGrpNavBar Object > CxGrpNavBar and CxGrpGrid Example

CxGrpNavBar and CxGrpGrid Example

The following is an example using the CxGrpNavBar object and the CxGrpGrid object in CygNet Studio. For an example using CxGrpGrid with CxFacNavBar, see CxFacNavBar and CxGrpGrid Example.

CxGrpNavBar and CxGrpGrid Example
CxGrpNavBar and CxGrpGrid Example

Script File

'(Declarations)

 

Dim g_iSelectedLevel

g_iSelectedLevel = 0

 

Sub UpdateUI()

 

eboLevels.Text = GrpNavBar.X.Levels - 1

 

If cboLevel.Selection = 0 Then

eboRules.Text = GrpNavBar.X.RootNodeRules

Else

eboRules.Text = GrpNavBar.X.Rules(CInt(cboLevel.GetText(cboLevel.Selection)))

End If

 

btnNext.Enable = GrpNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value)

btnPrev.Enable = GrpNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value)

btnNavNext.Enable = GrpNavBar.X.CanNavNext(ckbNavWrap.Value)

btnNavPrev.Enable = GrpNavBar.X.CanNavPrev(ckbNavWrap.Value)

 

End Sub

 

Sub ListFilterRules()

 

lboEnabledRules.ResetContent

lboDisabledRules.ResetContent

 

Dim aryEnabled, aryDisabled

 

If cboLevel.Selection = 0 Then

GrpNavBar.X.GetRootNodeRuleNames aryEnabled, aryDisabled

Else

GrpNavBar.X.GetRuleNames _cboLevel.GetText(cboLevel.Selection), aryEnabled, aryDisabled

End If

 

Dim i

For i = 0 To UBound(aryEnabled)

lboEnabledRules.AddString aryEnabled(i)

Next

 

For i = 0 To UBound(aryDisabled)

lboDisabledRules.AddString aryDisabled(i)

Next

 

End Sub

 

'End of (Declarations)

 

'(GlobalDeclarations)

 

'End of (GlobalDeclarations)

 

Sub btnDisableRule_EventClick()

Dim This : Set This = btnDisableRule

 

If lboEnabledRules.GetCurSel() < 0 Then

Exit Sub

End If

 

If cboLevel.Selection = 0 Then

GrpNavBar.X.EnableRootNodeRule _

lboEnabledRules.GetText(lboEnabledRules.GetCurSel()), False

Else

GrpNavBar.X.EnableRule CInt(cboLevel.GetText(cboLevel.Selection)), _

lboEnabledRules.GetText(lboEnabledRules.GetCurSel()), False

End If

 

ListFilterRules()

 

ckbEnableAllFilterRules.Check = 0

 

End Sub

 

Sub btnEnableRule_EventClick()

Dim This : Set This = btnEnableRule

 

If lboDisabledRules.GetCurSel() < 0 Then

Exit Sub

End If

 

If cboLevel.Selection = 0 Then

GrpNavBar.X.EnableRootNodeRule _

lboDisabledRules.GetText(lboDisabledRules.GetCurSel()), True

Else

GrpNavBar.X.EnableRule CInt(cboLevel.GetText(cboLevel.Selection)), _

lboDisabledRules.GetText(lboDisabledRules.GetCurSel()), True

End If

 

ListFilterRules()

 

End Sub

 

Sub btnNavNext_EventClick()

Dim This : Set This = btnNavNext

 

Dim iLevel

iLevel = GrpNavBar.X.NavNext(ckbNavWrap.Value)

UpdateUI()

 

End Sub

 

Sub btnNavPrev_EventClick()

Dim This : Set This = btnNavPrev

 

Dim iLevel

iLevel = GrpNavBar.X.NavPrev(ckbNavWrap.Value)

UpdateUI()

 

End Sub

 

Sub btnNext_EventClick()

Dim This : Set This = btnNext

 

Dim iRet

iRet = GrpNavBar.X.SelNext(eboLevel.Text, ckbWrap.Value)

UpdateUI()

 

End Sub

 

Sub btnPrev_EventClick()

Dim This : Set This = btnPrev

 

Dim iRet

iRet = GrpNavBar.X.SelPrev(eboLevel.Text, True)

UpdateUI()

 

End Sub

 

Sub btnSetLevelCnt_EventClick()

Dim This : Set This = btnSetLevelCnt

 

GrpNavBar.X.Levels = eboLevels.Text

 

End Sub

 

Sub btnSetRules_EventClick()

Dim This : Set This = btnSetRules

 

If cboLevel.Selection = 0 Then

GrpNavBar.X.RootNodeRules = eboRules.Text

Else

GrpNavBar.X.Rules(CInt(cboLevel.GetText(cboLevel.Selection))) = eboRules.Text

End If

 

ListFilterRules

UpdateUI

 

End Sub

 

Sub btnSetSiteService_EventClick()

Dim This : Set This = btnSetSiteService

 

GrpNavBar.X.SiteService = eboSiteService.Text

TheView.Restart

 

End Sub

 

Sub cboLevel_EventChange()

Dim This : Set This = cboLevel

 

g_iSelectedLevel = cboLevel.Selection

 

ListFilterRules

UpdateUI

 

End Sub

 

Sub cboLevel_EventInitialize()

Dim This : Set This = cboLevel

 

cboLevel.AddString "Root"

 

Dim i

i = 0

For i = 0 To GrpNavBar.X.Levels

cboLevel.AddString CStr(i)

Next

 

cboLevel.Selection = g_iSelectedLevel

 

ListFilterRules

UpdateUI

 

End Sub

 

Sub ckbEnableAllFilterRules_EventChange()

Dim This : Set This = ckbEnableAllFilterRules

 

If ckbEnableAllFilterRules.Check = 1 Then

 

If cboLevel.Selection = 0 Then

GrpNavBar.X.EnableAllRootNodeRules True

Else

GrpNavBar.X.EnableAllRules CInt(cboLevel.GetText(cboLevel.Selection)), _

True

End If

 

ListFilterRules

End If

 

End Sub

 

Sub ckbNavWrap_EventChange()

Dim This : Set This = ckbNavWrap

UpdateUI

 

End Sub

 

Sub ckbWrap_EventChange()

Dim This : Set This = ckbWrap

 

UpdateUI

 

End Sub

 

Sub eboLevel_EventChange()

Dim This : Set This = eboLevel

 

If eboLevel.Text <> "" Then

btnNext.Enable = GrpNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value)

btnPrev.Enable = GrpNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value)

Else

btnNext.Enable = False

btnPrev.Enable = False

End If

 

End Sub

 

Sub eboLevel_EventInitialize()

Dim This : Set This = eboLevel

 

eboLevel.Text = GrpNavBar.X.Levels - 1

 

End Sub

 

Sub eboSiteService_EventInitialize()

Dim This : Set This = eboSiteService

 

eboSiteService.Text = GrpNavBar.X.SiteService

 

End Sub

 

Sub GrpNavBar_EventOnSelChangeLevel(Level)

Dim This : Set This = GrpNavBar

 

cboLevel.Selection = Level + 1

 

ListfilterRules

 

End Sub

 

Sub TheView_EventInitialize()

Dim This : Set This = TheView

 

eboLevel.Text = GrpNavBar.X.Levels - 1

ckbEnableAllFilterRules.Check 0

 

End Sub

 

Sub TheView_EventRestarted()

Dim This : Set This = TheView

 

GrpGrid.X.Restart

 

End Sub

Back to top

Let us know how we can improve this topic.

CygNet at weatherford.com

© 2020 Weatherford. All rights reserved.